<?php
/**
 * TOP API: taobao.item.sku.add request
 * 
 * @author auto create
 * @since 1.0, 2012-04-17 12:36:56
 */
class ItemSkuAddRequest
{
    /** 
     * sku所属商品的价格。当用户新增sku，使商品价格不属于sku价格之间的时候，用于修改商品的价格，使sku能够添加成功
     **/
    private $itemPrice;
    
    /** 
     * Sku文字的版本。可选值:zh_HK(繁体),zh_CN(简体);默认值:zh_CN
     **/
    private $lang;
    
    /** 
     * Sku所属商品数字id，可通过 taobao.item.get 获取。必选
     **/
    private $numIid;
    
    /** 
     * Sku的商家外部id
     **/
    private $outerId;
    
    /** 
     * Sku的销售价格。商品的价格要在商品所有的sku的价格之间。精确到2位小数;单位:元。如:200.07，表示:200元7分
     **/
    private $price;
    
    /** 
     * Sku属性串。格式:pid:vid;pid:vid,如:1627207:3232483;1630696:3284570,表示:机身颜色:军绿色;手机套餐:一电一充。
如果包含自定义属性则格式为pid:vid;pid2:vid2;$pText:vText , 其中$pText:vText为自定义属性。限制：其中$pText的‘$’前缀不能少，且pText和vText文本中不可以存在 冒号:和分号;以及逗号，
     **/
    private $properties;
    
    /** 
     * Sku的库存数量。sku的总数量应该小于等于商品总数量(Item的NUM)。取值范围:大于零的整数
     **/
    private $quantity;
    
    private $apiParas = array();
    
    public function setItemPrice($itemPrice)
    {
        $this->itemPrice = $itemPrice;
        $this->apiParas["item_price"] = $itemPrice;
    }

    public function getItemPrice()
    {
        return $this->itemPrice;
    }

    public function setLang($lang)
    {
        $this->lang = $lang;
        $this->apiParas["lang"] = $lang;
    }

    public function getLang()
    {
        return $this->lang;
    }

    public function setNumIid($numIid)
    {
        $this->numIid = $numIid;
        $this->apiParas["num_iid"] = $numIid;
    }

    public function getNumIid()
    {
        return $this->numIid;
    }

    public function setOuterId($outerId)
    {
        $this->outerId = $outerId;
        $this->apiParas["outer_id"] = $outerId;
    }

    public function getOuterId()
    {
        return $this->outerId;
    }

    public function setPrice($price)
    {
        $this->price = $price;
        $this->apiParas["price"] = $price;
    }

    public function getPrice()
    {
        return $this->price;
    }

    public function setProperties($properties)
    {
        $this->properties = $properties;
        $this->apiParas["properties"] = $properties;
    }

    public function getProperties()
    {
        return $this->properties;
    }

    public function setQuantity($quantity)
    {
        $this->quantity = $quantity;
        $this->apiParas["quantity"] = $quantity;
    }

    public function getQuantity()
    {
        return $this->quantity;
    }

    public function getApiMethodName()
    {
        return "taobao.item.sku.add";
    }
    
    public function getApiParas()
    {
        return $this->apiParas;
    }
    
    public function check()
    {
        
        RequestCheckUtil::checkNotNull($this->numIid,"numIid");
        RequestCheckUtil::checkMinValue($this->numIid,0,"numIid");
        RequestCheckUtil::checkNotNull($this->price,"price");
        RequestCheckUtil::checkNotNull($this->properties,"properties");
        RequestCheckUtil::checkNotNull($this->quantity,"quantity");
        RequestCheckUtil::checkMinValue($this->quantity,0,"quantity");
    }
}
